/**
  ******************************************************************************
  * @file    mw_config.h
  * @author  ashuai0110
  * @version V2.4
  * @date    2024-09-12
  * @brief   组件配置宏(所有组件都需包含此文件)
  *
  ******************************************************************************
  * @attention
  *
  * 版权声明:内容为编者(ashuai0110)原创,使用请注明出处,当然,你也可以不这样做^_^
  * 出处链接:https://gitee.com/ashuai0110/mcu_reuse_development_module.git
  *
  * Change Logs:
  * Date          Author        Notes
  * 2024-09-01    ashuai0110    完成基本内容
  * 
  ******************************************************************************
  */

#ifndef __MODULE_CONFIG_H
#define __MODULE_CONFIG_H

#ifdef __cplusplus
extern "C" {
#endif

/* 包含头文件-----------------------------------------------------------------*/
/* 引入MCU头文件 */
#include "stm32f10x.h"
/* 引入日志输出头文件 */
#include "SEGGER_RTT.h"

/**
 * @addtogroup common
 * @{
 */

/**
 * @addtogroup mw_config
 * @{
 */

/* 宏定义---------------------------------------------------------------------*/
/**
 * @defgroup common_include_user_macros common include user macros
 * @brief    common_include相关参数宏(用户按需修改)
 * @note     此宏不可被删除,除此宏外,其余宏若不使用可删除或注释
 * @{
 */
#define _MW_PRINT_LOG                           (1u) /*!< 打印接口开关 0:关闭 1:打开 */
#define _MW_ASSERT_PARAM                        (1u) /*!< 参数检查接口开关 0:关闭 1:打开 */
#define _MW_TIME_STAMP                          (0u) /*!< 时间戳相关内容开关 0:关闭 1:打开 */
#define _MW_INTERRUPT_CTRL                      (1u) /*!< 全局中断控制接口开关 0:关闭 1:打开 */

#if _MW_PRINT_LOG
/* 日志输出原始接口 用户需引入相关头文件并自行修改宏内容 */
#define MW_PRINT_FUNC(fmt, args...)             SEGGER_RTT_printf(0, fmt, ##args)
#endif
#if _MW_INTERRUPT_CTRL
/* 使能全局中断原始接口 用户需引入相关头文件并自行修改宏内容 */
#define MW_ENABLE_INT_FUNC()                    __enable_irq()
/* 失能全局中断原始接口 用户需引入相关头文件并自行修改宏内容 */
#define MW_DISABLE_INT_FUNC()                   __disable_irq()
/* 获取屏蔽中断原始接口 用户需引入相关头文件并自行修改宏内容 */
#define MW_GET_BASEPRI_FUNC()                   __get_BASEPRI()
/* 设置屏蔽中断原始接口 用户需引入相关头文件并自行修改宏内容 */
#define MW_SET_BASEPRI_FUNC(x)                  __set_BASEPRI((x))
#endif
/**
 * @}
 */

/**
 * @defgroup command_at_user_macros command at user macros
 * @brief    command_at相关参数设置(用户按需修改)
 * @{
 */
#define CMD_AT_W_BUF_LEN                        (48u) /*!< 发送缓冲区长度byte */
#define CMD_AT_R_BUF_LEN                        (48u) /*!< 接收缓冲区长度byte */
#define CMD_AT_MARK_LEN                         (3u)  /*!< 前缀后缀数组长度byte */
/**
 * @}
 */

/* 类型定义-------------------------------------------------------------------*/

/* 全局变量-------------------------------------------------------------------*/

/* 函数原型-------------------------------------------------------------------*/


/**
 * @}
 */

/**
 * @}
 */

#ifdef __cplusplus
}
#endif

#endif /* mw_config.h */
